package com.talent.core.protocol.mqtt.enums;

/**
 * @ClassName：MessageType
 * @Author: hszhou
 * @Date: 2024/11/9 10:36
 * @Description: 必须描述类做什么事情, 实现什么功能
 */
public enum TlMqttMessageType {

    /**连接*/
    CONNECT(1),
    /**连接确认*/
    CONNACK(2),
    /**发布消息*/
    PUBLISH(3),
    /**发布消息确认QOS1*/
    PUBACK(4),
    //
    PUBREC(5),
    PUBREL(6),
    PUBCOMP(7),
    //订阅主题
    SUBSCRIBE(8),
    //订阅主题确认
    SUBACK(9),
    //取消订阅
    UNSUBSCRIBE(10),
    //取消订阅确认
    UNSUBACK(11),
    //心跳
    PINGREQ(12),
    //心跳回复
    PINGRESP(13),
    //断开连接
    DISCONNECT(14),
    ;

    private final int value;



    public static TlMqttMessageType getByValue(int value){
        for (TlMqttMessageType tlMqttMessageType : values()) {
            if (tlMqttMessageType.getValue()==value) {
                return tlMqttMessageType;
            }
        }
        return null;
    }
    TlMqttMessageType(int value ){
        this.value =value;
    }

    public int getValue() {
        return value;
    }
}
